The design and implementation of anti-virus computer programs for protecting computers from damage and/or interruption of operation due to computer viruses are well known in the art. A great deal of time and effort is spent in the design of such anti-virus programs to reduce the amount of computer time required by such programs for detecting viruses in computer files, and preventing detected virus contaminated or infected files from being written onto the hard drive or other storage media associated with a particular computer system or server. The use of computer networks for interconnecting a plurality of computers, either on a local or wide area network, has provided increasingly greater opportunity for so-called “computer hackers” to introduce viruses into the associated computers. The now widespread use of the Internet, and World Wide Web, has caused a major increase in the introduction of computer viruses into computer systems connected to such networks. In turn, anti-virus programs have to be continuously updated and expanded in order to recognize, cope with, and cleanse infected computer files of myriad viruses that may be introduced by hackers. As the number of computer viruses scanned for by anti-virus programs increases, the time required for scanning a given file for any such viruses increases in proportion to the increase in the number of viruses. Accordingly, computer programmers associated with the design of anti-virus computer programs are continuously searching for methods to reduce the computer time these programs must spend in scanning files for viruses.
In U.S. Pat. No. 5,649,095, entitled “Method and Apparatus For Detecting Computer Viruses Through The Use Of A Scan Information Cache”, the length information of one portion of a file, e.g. a fork, is upon opening stored in a cache. Upon initiating a scan of the file, the length of the portion of the file corresponding to the portion in cache is compared to the length of the latter. If a size difference is detected, the file is only scanned for viruses which cause a change in the length or size of that portion of a file, thereby eliminating spending time scanning for other viruses. The teachings of U.S. Pat. No. 5,649,095 are incorporated herein by reference to the extent they do not conflict herewith.
In U.S. Ser. No. 09/481,060, filed Jan. 11, 2000, owned by the same Assignee as the present invention, and entitled “Fast Virus Scanning Using Scanning Stamping,” a unique session key is created for each execution of anti-virus software, and is used to create a session stamp for each file scanned during the associated execution. The session stamps are stored for use by the anti-virus software to validate a session stamp when a request for an associated file is made. A file is scanned if the session stamp is invalid or absent for that file.